using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
using Etna.Exportaciones.En;
using Etna.Exportaciones.Ad;

namespace Etna.Exportaciones.Rn
{
   public class RnDireccion:RnGeneral
   {
      public EnDireccion Leer(int pidDireccion)
      {
         EnDireccion oEnDireccion = null;

         using (SqlConnection con = new SqlConnection(CadenaConexion))
         {
            try
            {
               con.Open();
               AdDireccion oAdDireccion = new AdDireccion();
               oEnDireccion = oAdDireccion.Leer(pidDireccion, con);
            }
            catch (SqlException ex)
            {
               oEnDireccion = null;
            }
         }
         return oEnDireccion;
      }

      // Proceso para insertar un registro nuevo
      public bool Insertar(EnDireccion poEnDireccion)
      {
          bool Resultado = false;

          using (SqlConnection con = new SqlConnection(CadenaConexion))
          {

             try
              {
                  con.Open();
                  AdDireccion oAdDireccion = new AdDireccion();
                  Resultado = oAdDireccion.Insertar(poEnDireccion, con);
              }
              catch (SqlException ex)
              {
                  Resultado = false;
              }
          }
          return Resultado;
      }
      // Proceso para modificar un registro existente
      public bool Modificar(EnDireccion poEnDireccion)
      {
          bool Resultado = false;

          using (SqlConnection con = new SqlConnection(CadenaConexion))
          {

             try
              {
                  con.Open();
                  AdDireccion oAdDireccion = new AdDireccion();
                  Resultado = oAdDireccion.Modificar(poEnDireccion, con);
              }
              catch (SqlException ex)
              {
                  Resultado = false;
              }
          }
          return Resultado;
      }
      public List<EnDireccion> Listar(int pidcliente, string ptipodireccion)
      {
         List<EnDireccion> loEnDireccion = null;

         using (SqlConnection con = new SqlConnection(CadenaConexion))
         {
            try
            {
               con.Open();
               AdDireccion oAdDireccion = new AdDireccion();
               loEnDireccion = oAdDireccion.Listar(pidcliente, ptipodireccion, con);
            }
            catch (SqlException ex)
            {
               loEnDireccion = null;
            }
         }
         return loEnDireccion;
      }

   }
}
